home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Code / LIB / _nc381.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  7.4 KB  |  290 lines

  1. package Code.LIB
  2. {
  3.    public class _nc381
  4.    {
  5.       public function _nc381()
  6.       {
  7.          super();
  8.       }
  9.       
  10.       public static function _cm181(param1:Array) : void
  11.       {
  12.          var _loc2_:int = 0;
  13.          var _loc3_:int = 0;
  14.          _loc2_ = 0;
  15.          while(_loc2_ < param1.length)
  16.          {
  17.             if(!_lr438(param1,_loc2_))
  18.             {
  19.                break;
  20.             }
  21.             _aa148(param1,_loc2_);
  22.             _loc2_--;
  23.             _loc2_++;
  24.          }
  25.          if(param1.length == 0)
  26.          {
  27.             return;
  28.          }
  29.          _loc2_ = int(param1.length - 1);
  30.          while(_loc2_ >= 0)
  31.          {
  32.             if(!_lr438(param1,_loc2_))
  33.             {
  34.                break;
  35.             }
  36.             _aa148(param1,_loc2_);
  37.             _loc2_--;
  38.          }
  39.          if(param1.length == 0)
  40.          {
  41.             return;
  42.          }
  43.          _loc3_ = 0;
  44.          while(_loc3_ < param1[0].length)
  45.          {
  46.             if(!_yh721(param1,_loc3_))
  47.             {
  48.                break;
  49.             }
  50.             _du345(param1,_loc3_);
  51.             _loc3_--;
  52.             _loc3_++;
  53.          }
  54.          if(param1.length == 0)
  55.          {
  56.             return;
  57.          }
  58.          _loc3_ = param1[0].length - 1;
  59.          while(_loc3_ >= 0)
  60.          {
  61.             if(!_yh721(param1,_loc3_))
  62.             {
  63.                break;
  64.             }
  65.             _du345(param1,_loc3_);
  66.             _loc3_--;
  67.          }
  68.       }
  69.       
  70.       public static function _lr438(param1:Array, param2:int) : Boolean
  71.       {
  72.          var _loc3_:Array = null;
  73.          var _loc4_:int = 0;
  74.          _loc3_ = param1[param2];
  75.          _loc4_ = 0;
  76.          while(_loc4_ < _loc3_.length)
  77.          {
  78.             if(_loc3_[_loc4_] != 0)
  79.             {
  80.                return false;
  81.             }
  82.             _loc4_++;
  83.          }
  84.          return true;
  85.       }
  86.       
  87.       public static function _aa148(param1:Array, param2:int) : void
  88.       {
  89.          param1.splice(param2,1);
  90.       }
  91.       
  92.       private static function _ur169(param1:Array) : _bt684
  93.       {
  94.          var _loc2_:int = 0;
  95.          var _loc3_:int = 0;
  96.          _loc2_ = 0;
  97.          while(_loc2_ < param1.length)
  98.          {
  99.             _loc3_ = 0;
  100.             while(_loc3_ < param1[_loc2_].length)
  101.             {
  102.                if(param1[_loc2_][_loc3_] is _bt684 && !_bt684(param1[_loc2_][_loc3_]).marker)
  103.                {
  104.                   return param1[_loc2_][_loc3_];
  105.                }
  106.                _loc3_++;
  107.             }
  108.             _loc2_++;
  109.          }
  110.          return null;
  111.       }
  112.       
  113.       public static function _yh721(param1:Array, param2:int) : Boolean
  114.       {
  115.          var _loc3_:int = 0;
  116.          _loc3_ = 0;
  117.          while(_loc3_ < param1.length)
  118.          {
  119.             if(param1[_loc3_][param2] != 0)
  120.             {
  121.                return false;
  122.             }
  123.             _loc3_++;
  124.          }
  125.          return true;
  126.       }
  127.       
  128.       public static function _du345(param1:Array, param2:int) : void
  129.       {
  130.          var _loc3_:int = 0;
  131.          var _loc4_:Array = null;
  132.          _loc3_ = 0;
  133.          while(_loc3_ < param1.length)
  134.          {
  135.             _loc4_ = param1[_loc3_];
  136.             _loc4_.splice(param2,1);
  137.             _loc3_++;
  138.          }
  139.       }
  140.       
  141.       public static function create(param1:int, param2:int) : Array
  142.       {
  143.          var _loc3_:Array = null;
  144.          var _loc4_:int = 0;
  145.          var _loc5_:Array = null;
  146.          var _loc6_:int = 0;
  147.          _loc3_ = new Array();
  148.          _loc4_ = 0;
  149.          while(_loc4_ < param1)
  150.          {
  151.             _loc5_ = new Array();
  152.             _loc6_ = 0;
  153.             while(_loc6_ < param2)
  154.             {
  155.                _loc5_.push(0);
  156.                _loc6_++;
  157.             }
  158.             _loc3_.push(_loc5_);
  159.             _loc4_++;
  160.          }
  161.          return _loc3_;
  162.       }
  163.       
  164.       public static function _mu796(param1:Array, param2:Class) : Array
  165.       {
  166.          var _loc3_:int = 0;
  167.          var _loc4_:int = 0;
  168.          var _loc5_:Array = null;
  169.          var _loc6_:Array = null;
  170.          var _loc7_:_bt684 = null;
  171.          var _loc8_:Array = null;
  172.          var _loc9_:Array = null;
  173.          var _loc10_:Array = null;
  174.          _loc5_ = create(param1.length,param1[0].length);
  175.          _loc3_ = 0;
  176.          while(_loc3_ < param1.length)
  177.          {
  178.             _loc4_ = 0;
  179.             while(_loc4_ < param1[_loc3_].length)
  180.             {
  181.                if(param1[_loc3_][_loc4_] is param2)
  182.                {
  183.                   _loc5_[_loc3_][_loc4_] = new _bt684();
  184.                   _loc5_[_loc3_][_loc4_].Obj = param1[_loc3_][_loc4_];
  185.                   _loc5_[_loc3_][_loc4_].I = _loc3_;
  186.                   _loc5_[_loc3_][_loc4_].J = _loc4_;
  187.                }
  188.                _loc4_++;
  189.             }
  190.             _loc3_++;
  191.          }
  192.          _loc6_ = new Array();
  193.          while(true)
  194.          {
  195.             if(!_loc7_)
  196.             {
  197.                if(_loc8_)
  198.                {
  199.                   _loc6_.push(_loc8_);
  200.                }
  201.                _loc7_ = _ur169(_loc5_);
  202.                if(!_loc7_)
  203.                {
  204.                   break;
  205.                }
  206.                _loc8_ = new Array();
  207.                _loc8_.push(_loc7_.Obj);
  208.                _loc7_.pushed = true;
  209.                _loc9_ = new Array();
  210.             }
  211.             _loc10_ = _uy123(_loc5_,_loc7_);
  212.             _loc7_.marker = true;
  213.             _loc3_ = 0;
  214.             while(_loc3_ < _loc10_.length)
  215.             {
  216.                if(!_loc10_[_loc3_].marker)
  217.                {
  218.                   _loc9_.push(_loc10_[_loc3_]);
  219.                }
  220.                if(!_loc10_[_loc3_].pushed)
  221.                {
  222.                   _loc8_.push(_loc10_[_loc3_].Obj);
  223.                   _loc10_[_loc3_].pushed = true;
  224.                }
  225.                _loc3_++;
  226.             }
  227.             _loc7_ = _loc9_.pop();
  228.          }
  229.          return _loc6_;
  230.       }
  231.       
  232.       private static function _uy123(param1:Array, param2:_bt684) : Array
  233.       {
  234.          var _loc3_:Array = null;
  235.          _loc3_ = new Array();
  236.          if(param2.J - 1 >= 0 && param1[param2.I][param2.J - 1] is _bt684)
  237.          {
  238.             _loc3_.push(param1[param2.I][param2.J - 1]);
  239.          }
  240.          if(param2.J + 1 < param1[0].length && param1[param2.I][param2.J + 1] is _bt684)
  241.          {
  242.             _loc3_.push(param1[param2.I][param2.J + 1]);
  243.          }
  244.          if(param2.I - 1 >= 0 && param1[param2.I - 1][param2.J] is _bt684)
  245.          {
  246.             _loc3_.push(param1[param2.I - 1][param2.J]);
  247.          }
  248.          if(param2.I + 1 < param1.length && param1[param2.I + 1][param2.J] is _bt684)
  249.          {
  250.             _loc3_.push(param1[param2.I + 1][param2.J]);
  251.          }
  252.          return _loc3_;
  253.       }
  254.       
  255.       public static function _fl158(param1:Array) : Array
  256.       {
  257.          var _loc2_:Array = null;
  258.          var _loc3_:int = 0;
  259.          _loc2_ = new Array();
  260.          _loc3_ = 0;
  261.          while(_loc3_ < param1.length)
  262.          {
  263.             _loc2_.push(param1[_loc3_].slice(0,param1[_loc3_].length));
  264.             _loc3_++;
  265.          }
  266.          return _loc2_;
  267.       }
  268.    }
  269. }
  270.  
  271. class _bt684
  272. {
  273.    public var I:int;
  274.    
  275.    public var J:int;
  276.    
  277.    public var Obj:Object;
  278.    
  279.    public var pushed:Boolean = false;
  280.    
  281.    public var marker:Boolean = false;
  282.    
  283.    public function _bt684()
  284.    {
  285.       marker = false;
  286.       pushed = false;
  287.       super();
  288.    }
  289. }
  290.